#ifndef LORA_H
#define LORA_H
#include "stm32f10x.h"
typedef enum _LoRaRunATCmd{
	LORA_RUN_TEST = 0,
	LORA_RUN_RESET,
	LORA_RUN_SAVE,
	LORA_RUN_LINK,
	LORA_RUN_HEART,
}LoRaRunATCmd;

typedef enum _LoRaGetATCmd{
	LORA_GET_VERS = 0,
	LORA_GET_BAUD,
	LORA_GET_CONFIRM,
	LORA_GET_NBTRIALS,
	LORA_GET_ADR,
	LORA_GET_CLASS,
	LORA_GET_PORT,
	LORA_GET_SIGNAL,
	LORA_GET_DATARATE,
	LORA_GET_JOIN,
	LORA_GET_HEART,
	LORA_GET_CHANNEL,
	LORA_GET_DEVEUI,
	LORA_GET_APPEUI,
	LORA_GET_APPKEY,
	LORA_GET_POWER,
	LORA_GET_AUTO
}LoRaGetATCmd;

typedef enum _LoRaSetATCmd{
	LORA_SET_BAUD = 0,
	LORA_SET_CONFIRM,
	LORA_SET_NBTRIALS,
	LORA_SET_ADR,
	LORA_SET_CLASS,
	LORA_SET_PORT,
	LORA_SET_DATARATE,
	LORA_SET_SEND,
	LORA_SET_SENDCK,
	LORA_SET_JOIN,
	LORA_SET_SLEEP,
	LORA_SET_HEART,
	LORA_SET_CHANNEL,
	LORA_SET_APPEUI,
	LORA_SET_APPKEY,
	LORA_SET_POWER,
	LORA_SET_AUTO
}LoRaSetATCmd;

void LoRaInit(void);

void LoRaRunCmd(LoRaRunATCmd type);

void LoRaGetCmd(LoRaGetATCmd type);

void LoRaSetCmd(LoRaSetATCmd type, char* pArgs);
u8 Set_Lora_Join();
u8 Check_Lora_Join_Status();
void Lora_Tx_Data(char* str, u32 length);
char asciitohex(char high_ascii,char low_ascii);
char lowhextoascii(char hexdata);

#endif
